perm filename EXPR.LOG[MF,DEK]1 blob sn#774381 filedate 1984-10-30 generic text, type T, neo UTF8
This is METAFONT, WAITS Version 0.4 (preloaded base=plain 84.10.21)  30 OCT 1984 11:03
**expr
(EXPR.MF[MF,DEK]
gimme an expr: 100*100
>> 10000
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 3/8
>> 0.375
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: .375*1000
>> 375
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: .376*1000
>> 376.00708
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 100*100/3
>> 3333.33282
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 
! An expression can't begin with `;'.
<inserted text> 
                0
<to be read again> 
                   ;
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        
I'm afraid I need some sort of value in order to continue,
so I've tentatively inserted `0'. You may want to
delete this zero and insert something else;
see Chapter xx of The METAFONTbook for an example.

>> 0
! OK.
<recently read> ;
                 
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 100*100/3
>> 3333.33282
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: (100*100)/3
>> 3333.33333
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: infinity+epsilon
>> 4096
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 100*100/3
>> 3333.33282
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/3(3)
>> 1
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/3(3)
>> 1
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/7(7)
>> 1
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: .1(100*100)
>> 1000.06104
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/3(100*100)
>> 3333.33333
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: sqrt(100*100)
>> 100
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: sqrt 100(100)
>> 100
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: sqrt 2
>> 1.41422
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: sqrt -1
! Square root of -1 has been replaced by 0.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        
Since I don't take square roots of negative numbers,
I'm zeroing this one. Proceed, with fingers crossed.

>> 0
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: sqrt+.0001
>> 0.01033
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: a+b
>> a+b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: b+a
>> a+b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 2(a+b)
>> 2a+2b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 2(b-2a)
>> -4a+2b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/(1/3)
>> 3.00005
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/.1
>> 9.99939
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/3.00005
>> 0.33333
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 2(a-b+.5)
>> 2a-2b+1
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: .5(b-a)
>> -0.5a+0.5b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: .5[a,b]
>> 0.5a+0.5b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/3[a,b]
>> 0.66667a+0.33333b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 3(1/3[a,b])
>> 2.00002a+0.99998b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 0[a,b]
>> a
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: a*b
>> a
>> b
! Not implemented: (unknown numeric)*(unknown numeric).
<to be read again> 
                   ;
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        
I'm afraid I don't know how to apply that operation to that
combination of types. Continue, and I'll return the second
argument (see above) as the result of the operation.

>> b
! OK.
<recently read> ;
                 
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: 1/b
>> 1
>> b
! Not implemented: (known numeric)/(unknown numeric).
<to be read again> 
                   ;
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        
I'm afraid I don't know how to apply that operation to that
combination of types. Continue, and I'll return the second
argument (see above) as the result of the operation.

>> b
! OK.
<recently read> ;
                 
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: b+a-2b
>> a-b
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: aa+bb
>> aa+bb
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: aa+bb+cc+dd+ee+ff+gg+hh
>> aa+bb+ee+ff+gg+hh+500.76343
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: aa+bb+cc+dd+ee+ff+gg+hh
>> aa+bb+ee+ff+gg+hh+500.76343
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: cc
>> 462.24316
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: dd
>> 38.52026
! OK.
<for...> ...eadterminal.temp;showall.temp;
                                           ENDFOR
l.7 showall temp; endfor
                        

gimme an expr: